<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.6"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Percepio Trace Recorder: Trace Event Buffer APIs</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr id="projectrow">
  <td id="projectalign">
   <div id="projectname">Percepio Trace Recorder<span id="projectnumber">&#160;v4.10.3</span>
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.6 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(document).ready(function(){initNavTree('group__trace__event__buffer__apis.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>

<div class="header">
  <div class="summary">
<a href="#nested-classes">Data Structures</a> &#124;
<a href="#define-members">Macros</a> &#124;
<a href="#typedef-members">Typedefs</a> &#124;
<a href="#func-members">Functions</a>  </div>
  <div class="headertitle"><div class="title">Trace Event Buffer APIs<div class="ingroups"><a class="el" href="group__trace__recorder__apis.html">Trace Recorder APIs</a></div></div></div>
</div><!--header-->
<div class="contents">
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="nested-classes" name="nested-classes"></a>
Data Structures</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structTraceEventBuffer.html">TraceEventBuffer</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Trace Event Buffer Structure.  <a href="structTraceEventBuffer.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="define-members" name="define-members"></a>
Macros</h2></td></tr>
<tr class="memitem:gae8022878b657330390224db26c15ff8f"><td class="memItemLeft" align="right" valign="top"><a id="gae8022878b657330390224db26c15ff8f" name="gae8022878b657330390224db26c15ff8f"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>TRC_EVENT_BUFFER_OPTION_SKIP</b>&#160;&#160;&#160;(0U)</td></tr>
<tr class="memdesc:gae8022878b657330390224db26c15ff8f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Buffer should skip new events when full. <br /></td></tr>
<tr class="separator:gae8022878b657330390224db26c15ff8f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga63ee751b8545813fdd9ceab326eee66d"><td class="memItemLeft" align="right" valign="top"><a id="ga63ee751b8545813fdd9ceab326eee66d" name="ga63ee751b8545813fdd9ceab326eee66d"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>TRC_EVENT_BUFFER_OPTION_OVERWRITE</b>&#160;&#160;&#160;(1U)</td></tr>
<tr class="memdesc:ga63ee751b8545813fdd9ceab326eee66d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Buffer should overwrite old events when full. <br /></td></tr>
<tr class="separator:ga63ee751b8545813fdd9ceab326eee66d"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="typedef-members" name="typedef-members"></a>
Typedefs</h2></td></tr>
<tr class="memitem:ga750a11c15f329d553b013da474050190"><td class="memItemLeft" align="right" valign="top"><a id="ga750a11c15f329d553b013da474050190" name="ga750a11c15f329d553b013da474050190"></a>
typedef struct <a class="el" href="structTraceEventBuffer.html">TraceEventBuffer</a>&#160;</td><td class="memItemRight" valign="bottom"><b>TraceEventBuffer_t</b></td></tr>
<tr class="memdesc:ga750a11c15f329d553b013da474050190"><td class="mdescLeft">&#160;</td><td class="mdescRight">Trace Event Buffer Structure. <br /></td></tr>
<tr class="separator:ga750a11c15f329d553b013da474050190"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="func-members" name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:ga9e4bf49bc95df34cf5b296e79c7c72ad"><td class="memItemLeft" align="right" valign="top">traceResult&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__trace__event__buffer__apis.html#ga9e4bf49bc95df34cf5b296e79c7c72ad">xTraceEventBufferAlloc</a> (<a class="el" href="group__trace__event__buffer__apis.html#ga750a11c15f329d553b013da474050190">TraceEventBuffer_t</a> *pxTraceEventBuffer, uint32_t uiSize, void **ppvData)</td></tr>
<tr class="memdesc:ga9e4bf49bc95df34cf5b296e79c7c72ad"><td class="mdescLeft">&#160;</td><td class="mdescRight">Allocates a data slot directly from the event buffer.  <br /></td></tr>
<tr class="separator:ga9e4bf49bc95df34cf5b296e79c7c72ad"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga2b188578828bdeb2bc21f928fa9f99c8"><td class="memItemLeft" align="right" valign="top">traceResult&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__trace__event__buffer__apis.html#ga2b188578828bdeb2bc21f928fa9f99c8">xTraceEventBufferAllocCommit</a> (<a class="el" href="group__trace__event__buffer__apis.html#ga750a11c15f329d553b013da474050190">TraceEventBuffer_t</a> *pxTraceEventBuffer, const void *pvData, uint32_t uiSize, int32_t *piBytesWritten)</td></tr>
<tr class="memdesc:ga2b188578828bdeb2bc21f928fa9f99c8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Commits the last allocated block to the event buffer.  <br /></td></tr>
<tr class="separator:ga2b188578828bdeb2bc21f928fa9f99c8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gabbac6eeab72f50d8953dffcfe6d6ddc7"><td class="memItemLeft" align="right" valign="top">traceResult&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__trace__event__buffer__apis.html#gabbac6eeab72f50d8953dffcfe6d6ddc7">xTraceEventBufferPush</a> (<a class="el" href="group__trace__event__buffer__apis.html#ga750a11c15f329d553b013da474050190">TraceEventBuffer_t</a> *pxTraceEventBuffer, void *pvData, uint32_t uiSize, int32_t *piBytesWritten)</td></tr>
<tr class="memdesc:gabbac6eeab72f50d8953dffcfe6d6ddc7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Pushes data into trace event buffer.  <br /></td></tr>
<tr class="separator:gabbac6eeab72f50d8953dffcfe6d6ddc7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga2030a1dcfe1eae0708ff31d57c111ddd"><td class="memItemLeft" align="right" valign="top">traceResult&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__trace__event__buffer__apis.html#ga2030a1dcfe1eae0708ff31d57c111ddd">xTraceEventBufferTransferAll</a> (<a class="el" href="group__trace__event__buffer__apis.html#ga750a11c15f329d553b013da474050190">TraceEventBuffer_t</a> *pxTraceEventBuffer, int32_t *piBytesWritten)</td></tr>
<tr class="memdesc:ga2030a1dcfe1eae0708ff31d57c111ddd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Transfer trace event buffer data through streamport.  <br /></td></tr>
<tr class="separator:ga2030a1dcfe1eae0708ff31d57c111ddd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaaf993145eff5af6e524c0851072d9ed1"><td class="memItemLeft" align="right" valign="top">traceResult&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__trace__event__buffer__apis.html#gaaf993145eff5af6e524c0851072d9ed1">xTraceEventBufferTransferChunk</a> (<a class="el" href="group__trace__event__buffer__apis.html#ga750a11c15f329d553b013da474050190">TraceEventBuffer_t</a> *pxTraceEventBuffer, uint32_t uiChunkSize, int32_t *piBytesWritten)</td></tr>
<tr class="memdesc:gaaf993145eff5af6e524c0851072d9ed1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Transfer trace event buffer data through streamport.  <br /></td></tr>
<tr class="separator:gaaf993145eff5af6e524c0851072d9ed1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga54964c174432a5dfb6e9379593e478b6"><td class="memItemLeft" align="right" valign="top">traceResult&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__trace__event__buffer__apis.html#ga54964c174432a5dfb6e9379593e478b6">xTraceEventBufferClear</a> (<a class="el" href="group__trace__event__buffer__apis.html#ga750a11c15f329d553b013da474050190">TraceEventBuffer_t</a> *pxTraceEventBuffer)</td></tr>
<tr class="memdesc:ga54964c174432a5dfb6e9379593e478b6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Clears all data from event buffer.  <br /></td></tr>
<tr class="separator:ga54964c174432a5dfb6e9379593e478b6"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<h2 class="groupheader">Function Documentation</h2>
<a id="ga9e4bf49bc95df34cf5b296e79c7c72ad" name="ga9e4bf49bc95df34cf5b296e79c7c72ad"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga9e4bf49bc95df34cf5b296e79c7c72ad">&#9670;&#160;</a></span>xTraceEventBufferAlloc()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">traceResult xTraceEventBufferAlloc </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__trace__event__buffer__apis.html#ga750a11c15f329d553b013da474050190">TraceEventBuffer_t</a> *&#160;</td>
          <td class="paramname"><em>pxTraceEventBuffer</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>uiSize</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void **&#160;</td>
          <td class="paramname"><em>ppvData</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Allocates a data slot directly from the event buffer. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">pxTraceEventBuffer</td><td>Pointer to initialized trace event buffer. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">uiSize</td><td>Allocation size </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">ppvData</td><td>Pointer that will hold the area from the buffer.</td></tr>
  </table>
  </dd>
</dl>
<dl class="retval"><dt>Return values</dt><dd>
  <table class="retval">
    <tr><td class="paramname">TRC_FAIL</td><td>Failure </td></tr>
    <tr><td class="paramname">TRC_SUCCESS</td><td>Success </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="ga2b188578828bdeb2bc21f928fa9f99c8" name="ga2b188578828bdeb2bc21f928fa9f99c8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga2b188578828bdeb2bc21f928fa9f99c8">&#9670;&#160;</a></span>xTraceEventBufferAllocCommit()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">traceResult xTraceEventBufferAllocCommit </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__trace__event__buffer__apis.html#ga750a11c15f329d553b013da474050190">TraceEventBuffer_t</a> *&#160;</td>
          <td class="paramname"><em>pxTraceEventBuffer</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const void *&#160;</td>
          <td class="paramname"><em>pvData</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>uiSize</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int32_t *&#160;</td>
          <td class="paramname"><em>piBytesWritten</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Commits the last allocated block to the event buffer. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">pxTraceEventBuffer</td><td>Pointer to initialized trace event buffer.</td></tr>
  </table>
  </dd>
</dl>
<dl class="retval"><dt>Return values</dt><dd>
  <table class="retval">
    <tr><td class="paramname">TRC_FAIL</td><td>Failure </td></tr>
    <tr><td class="paramname">TRC_SUCCESS</td><td>Success </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="ga54964c174432a5dfb6e9379593e478b6" name="ga54964c174432a5dfb6e9379593e478b6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga54964c174432a5dfb6e9379593e478b6">&#9670;&#160;</a></span>xTraceEventBufferClear()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">traceResult xTraceEventBufferClear </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__trace__event__buffer__apis.html#ga750a11c15f329d553b013da474050190">TraceEventBuffer_t</a> *&#160;</td>
          <td class="paramname"><em>pxTraceEventBuffer</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Clears all data from event buffer. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">pxTraceEventBuffer</td><td>Pointer to initialized trace event buffer.</td></tr>
  </table>
  </dd>
</dl>
<dl class="retval"><dt>Return values</dt><dd>
  <table class="retval">
    <tr><td class="paramname">TRC_FAIL</td><td>Failure </td></tr>
    <tr><td class="paramname">TRC_SUCCESS</td><td>Success </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="gabbac6eeab72f50d8953dffcfe6d6ddc7" name="gabbac6eeab72f50d8953dffcfe6d6ddc7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gabbac6eeab72f50d8953dffcfe6d6ddc7">&#9670;&#160;</a></span>xTraceEventBufferPush()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">traceResult xTraceEventBufferPush </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__trace__event__buffer__apis.html#ga750a11c15f329d553b013da474050190">TraceEventBuffer_t</a> *&#160;</td>
          <td class="paramname"><em>pxTraceEventBuffer</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>pvData</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>uiSize</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int32_t *&#160;</td>
          <td class="paramname"><em>piBytesWritten</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Pushes data into trace event buffer. </p>
<p>This routine attempts to push data into the trace event buffer.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">pxTraceEventBuffer</td><td>Pointer to initialized trace event buffer. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">pvData</td><td>Pointer to data that should be pushed into trace event buffer. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">uiSize</td><td>Size of data. </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">piBytesWritten</td><td>Bytes written.</td></tr>
  </table>
  </dd>
</dl>
<dl class="retval"><dt>Return values</dt><dd>
  <table class="retval">
    <tr><td class="paramname">TRC_FAIL</td><td>Failure </td></tr>
    <tr><td class="paramname">TRC_SUCCESS</td><td>Success </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="ga2030a1dcfe1eae0708ff31d57c111ddd" name="ga2030a1dcfe1eae0708ff31d57c111ddd"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga2030a1dcfe1eae0708ff31d57c111ddd">&#9670;&#160;</a></span>xTraceEventBufferTransferAll()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">traceResult xTraceEventBufferTransferAll </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__trace__event__buffer__apis.html#ga750a11c15f329d553b013da474050190">TraceEventBuffer_t</a> *&#160;</td>
          <td class="paramname"><em>pxTraceEventBuffer</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int32_t *&#160;</td>
          <td class="paramname"><em>piBytesWritten</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Transfer trace event buffer data through streamport. </p>
<p>This routine will attempt to transfer all existing data in the trace event buffer through the streamport. New data pushed to the trace event buffer during the execution of this routine will not be transferred</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">pxTraceEventBuffer</td><td>Pointer to initialized trace event buffer. </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">piBytesWritten</td><td>Bytes written.</td></tr>
  </table>
  </dd>
</dl>
<dl class="retval"><dt>Return values</dt><dd>
  <table class="retval">
    <tr><td class="paramname">TRC_FAIL</td><td>Failure </td></tr>
    <tr><td class="paramname">TRC_SUCCESS</td><td>Success </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="gaaf993145eff5af6e524c0851072d9ed1" name="gaaf993145eff5af6e524c0851072d9ed1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaaf993145eff5af6e524c0851072d9ed1">&#9670;&#160;</a></span>xTraceEventBufferTransferChunk()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">traceResult xTraceEventBufferTransferChunk </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__trace__event__buffer__apis.html#ga750a11c15f329d553b013da474050190">TraceEventBuffer_t</a> *&#160;</td>
          <td class="paramname"><em>pxTraceEventBuffer</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>uiChunkSize</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int32_t *&#160;</td>
          <td class="paramname"><em>piBytesWritten</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Transfer trace event buffer data through streamport. </p>
<p>This routine will attempt to transfer a chunk of existing data in the trace event buffer through the streamport. New data pushed to the trace event buffer during the execution of this routine will not be transfered.</p>
<p>When transferring a chunk which wraps the buffer, a singular transfer is made to avoid issuing dual writes. This configuration means that during wrapping, the chunk might be reduced in size even if there is more data at the start of the buffer. To transfer more data check piBytesWritten and issue multiple transfers if required.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">pxTraceEventBuffer</td><td>Pointer to initialized trace event buffer. </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">piBytesWritten</td><td>Bytes written. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">uiChunkSize</td><td>Maximum transfer chunk in bytes.</td></tr>
  </table>
  </dd>
</dl>
<dl class="retval"><dt>Return values</dt><dd>
  <table class="retval">
    <tr><td class="paramname">TRC_FAIL</td><td>Failure </td></tr>
    <tr><td class="paramname">TRC_SUCCESS</td><td>Success </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.6 </li>
  </ul>
</div>
</body>
</html>
